#!/bin/python3.7

'''
    登陆函数验证，会循环列表进行判断
'''
def loginFun():
    global KEY
    global money
    for k in userlist:
        if name == k["name"]:
            if passwd == k["password"]:
                print("欢迎",k["name"],"登陆本系统", end=" ")
                money = k["money"]
                KEY = True

def showMon():
    print(name,"您好, 您当前的余额为：",money)

'''
    取钱函数，会进行最大金额判定
'''
def getMon(mon):
    global money
    if mon > money:
        print("您没有那么多余额。")
    else:
        money = money - mon

'''
    存入金钱函数，会进行判断输入金额是否为正数
'''
def setMon(mon):
    global money
    if mon >= 0:
        money = money + mon
        showMon()
    else:
        print("请输入正确的金额")

'''
    调用登陆验证函数验证并修改KEY，进入具体功能
    使用if判断用户功能选择
'''
def globalShow():
    global KEY
    loginFun()
    while KEY:
        print("############>  欢迎使用ATM系统  <#################")
        print("1.查询余额；\n2.取出余额；\n3.存入余额;\n4.退出。")
        value = input("请输入您选择的功能的序号： ")
        if value == "1":
            print("正在查询余额：")
            showMon()
            input("输入回车继续。")
        elif value == "2":
            mon1 = int(input("请输入需要取出的金额： "))
            getMon(mon1)
            input("请输入回车继续。")
        elif value == "3":
            mon2 = int(input("请输入存入的金额： "))
            setMon(mon2)
            input("请输入回车继续。")
        elif value == "4":
            print("退出中~~~~~~")
            break
        else:
            print("输入错误，请出入正确功能序号。")
    else:
        print("您输入的用户名和密码不匹配！")

# 主要程序块
'''
    定义全局变量和入口
'''
KEY = False
userlist = [
    {"name": "zhangsan", "money": 10000, "password": "515253"},
    {"name": "lisi", "money": 12000, "password": "545556"},
    {"name": "wangwu", "money": 14000, "password": "575859"},
    {"name": "xiaoming", "money": 15000, "password": "123456"}
]
name = input("请输入您的用户名： ")
passwd = input("请输入您的密码： ")
globalShow()
